I am creating MERN STACK ecommerce website and I am getting the above error when I register new user. The error points out to this chunk of code - at middleware/error.js saying "Invalid status code: undefined "
Below is the error.js in /middleware/error
module.exports = (err, req, res, next) => {
err.statusCode = err.statusCode || 500;
err.message = err.message || "Internal Server Error";
res.status(err.statusCode).json({
success: false,
message: err.message,
});
};
This is the entire code in my app.js
const express = require("express");
const app = express();
const cookieParser = require("cookie-parser");
const bodyParser = require("body-parser");
const fileUpload = require("express-fileupload");
const errorMiddleware = require("./middleware/error");
app.use(express.json());
app.use(cookieParser());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(fileUpload());
// Route Imports
const product = require("./routes/productRoute");
const user = require("./routes/userRoute");
const order = require("./routes/orderRoute");
app.use("/api/v1", product);
app.use("/api/v1", user);
app.use("/api/v1", order);
// Middleware for Errors
app.use(errorMiddleware);
module.exports = app;
This is the backend were error has occured
Ranjeet@Home MINGW64 ~/Desktop/projects/ecommerce/backend
$ npm run dev
> mernecommerce@1.0.0 dev
> nodemon backend/server.js
[nodemon] 2.0.16
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node backend/server.js`
Server is working on http://localhost:4000
Mongodb connected with server: localhost
RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: undefined
at new NodeError (node:internal/errors:371:5)
at ServerResponse.writeHead (node:_http_server:274:11)
at ServerResponse._implicitHeader (node:_http_server:265:8)
at write_ (node:_http_outgoing:766:9)
at ServerResponse.end (node:_http_outgoing:855:5)
at ServerResponse.send (C:\Users\Ranjeet\Desktop\projects\ecommerce\node_modules\express\lib\response.js:221:10)
at ServerResponse.json (C:\Users\Ranjeet\Desktop\projects\ecommerce\node_modules\express\lib\response.js:267:15)
at module.exports (C:\Users\Ranjeet\Desktop\projects\ecommerce\backend\middleware\error.js:33:30)